using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VERKProjectHopur16.Models;

namespace VERKProjectHopur16.Tests.Controllers
{
    class MockDataRepository : VERKProjectHopur16.Models.IDataRepository
    {

        List<Models.Content> content = new List<Models.Content>();
        List<Models.QA> qa = new List<Models.QA>();


        public IEnumerable<Content> GetAllContent() 
		{
            List<Models.Content> content = new List<Models.Content>();
            return (IEnumerable<Content>)content;
		}

        public Content GetContentById(int id)
		{
            var item = (from x in content
                        where x.ContentID == id
                        select x).SingleOrDefault();
            return item;
		}

        public void UpdateContent(Models.Content s)
		{
		}

        public void AddContent(Models.Content model)
		{
			content.Add(model);
		}

        public void DeleteContent(Models.Content model)
		{

		}

        public int Count()
        {
            return content.Count;
        }

        public IEnumerable<Department> GetAllDept()
        {
            List<Models.Department> dep = new List<Models.Department>();
            dep.Add(new Department { DepartmentID = 1, Name = "All" });
            dep.Add(new Department { DepartmentID = 1, Name = "Medicine" });
            dep.Add(new Department { DepartmentID = 1, Name = "Psychology" });
            dep.Add(new Department { DepartmentID = 1, Name = "Sociology" });
            return dep;
        }

		//======================================
		// NOT TESTED :- )
		//======================================
        public IEnumerable<Eventss> GetAllEvent() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Eventss>)content;
        }

        public Eventss GetEventById(int id) 
        {
            Eventss x = new Eventss();
            return x;
        }

        public void UpdateEvent(Eventss model) { }
        public void AddEvent(Eventss model) { }
        public void DeleteEvent(Eventss model) { }
        
        public IEnumerable<QA> AllQA() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<QA>)content;
        }

        public QA GetQAById(int id) 
        {
            QA x = new QA();
            return x;
        }

        public void UpdateQA(QA model) { }
        public void UpdateQAAnswer(QA model) { }
        public void AddQA(QA model) { }
        public void DeleteQA(QA model) { }
        
        public IEnumerable<Link> GetAllLink() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Link>)content;
        }
        public Link GetLinkById(int id) 
        {
            Link x = new Link();
            return x;
        }
        
        
        public void UpdateLink(Link model) { }
        public void AddLink(Link model) { }
        public void DeleteLink(Link model) { }
       
        public IEnumerable<Category> GetAllCateg() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Category>)content;
        }
        public IEnumerable<Language> GetAllLang() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Language>)content;
        }
        public IEnumerable<Author> GetAllAuthors() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Author>)content;
        }
        public Author GetAuthorById(int id) 
        {
            Author x = new Author();
            return x;
        }
        
        
        public void UpdateAuthor(Author model) { }
        public void AddAuthor(Author model) { }
        public void DeleteAuthor(Author model) { }
        
        public IEnumerable<Child> AllChilds() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Child>)content;
        }

        
        public Child GetChildById(int id) 
        {
            Child x = new Child();
            return x;
        }

        public void AddChild(Child model) { }
        public void DeleteChild(Child model) { }
        
        public void AddPicture(Picture model) { }
        public IEnumerable<Picture> AllPictures() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<Picture>)content;
        }

        public IEnumerable<aspnet_Membership> AllUsers() 
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<aspnet_Membership>)content;
        }
        
        public aspnet_User GetUserById(string id) 
        {
            aspnet_User x = new aspnet_User();
            return x;
        }

        public IEnumerable<aspnet_UsersInRole> AllRoles()
        {
            List<Models.Eventss> content = new List<Models.Eventss>();
            return (IEnumerable<aspnet_UsersInRole>)content;
        }
    }
}

